import { defineComponent } from 'vue';

interface ShareData {
    title: string;
    path: string;
    imageUrl?: string; // 可选属性
    desc?: string;
    content?: string;
}

export default defineComponent({
    data() {
        return {
            // 设置默认的分享参数
            share: {
                title: '随心改',
                path: '/pages/index/index',
                imageUrl: '',
                desc: '',
                content: ''
            } as ShareData
        };
    },
    methods: {
        onShareAppMessage(): WechatMiniprogram.ShareAppMessageOptions {
            const share = this.share;

            return {
                title: share.title,
                path: share.path,
                imageUrl: share.imageUrl,
                desc: share.desc,
                // content 属性在 uni-app 的分享中通常不需要，可以根据实际需求移除
                // content: share.content,
                success: (res: WechatMiniprogram.ShareAppMessageSuccessCallbackResult) => {
                    uni.showToast({
                        title: '分享成功',
                    });
                },
                fail: (res: WechatMiniprogram.GeneralCallbackResult) => {
                    uni.showToast({
                        title: '分享失败',
                        icon: 'none',
                    });
                }
            };
        },
        onShareTimeline(): WechatMiniprogram.ShareTimelineOptions | void {
            // 如果需要自定义分享到朋友圈的内容，可以在这里实现
            // 目前保持为空，可以根据需求添加
        }
    }
});